# 设备树文件说明 ***Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.*** --- # 概述 本文档介绍Quectel Pi H1的设备树文件结构、位置和修改方法。设备树(Device Tree)是Linux内核用于描述硬件配置的数据结构。掌握设备树文件的组织结构对于内核开发至关重要。 # 顶层设备树 Quectel Pi H1的顶层设备树文件为 *qcs6490-idp-pi.dts*,可以在以下两个位置找到: - **推荐修改位置**(内核代码外,方便覆盖): ```plaintext src/qcom-6.6-overlay/arch/arm64/boot/dts/qcom/qcs6490-idp-pi.dts ``` - **内核源码内位置**: ```plaintext sources/quectel-src/kernel/qcom-6.6/arch/arm64/boot/dts/qcom/qcs6490-idp-pi.dts ``` > **建议**:对设备树的所有修改,推荐在 *src/qcom-6.6-overlay* 目录下的文件上进行。 # 常用设备树文件 ## sc7280.dtsi 在开发过程中,*sc7280.dtsi* 文件会被高频查看和使用。该文件包含了以下常用节点: - GPIO(通用输入输出) - SPI(串行外设接口) - I2C(I²C总线) - UART(串口) - CPU(处理器) - GPU(图形处理器) **文件路径**: ```plaintext sources/quectel-src/kernel/qcom-6.6/arch/arm64/boot/dts/qcom/sc7280.dtsi ``` # 外部设备树仓库 高通平台将显示、图形、摄像头、视频等相关的驱动和设备树从Linux内核源码中分离出来,形成独立的代码仓库。 ## 查看仓库信息 可根据 [镜像构建](<../镜像构建/镜像构建.md>) 下载Yocto工程源码,通过查看 *layers/meta-qcom-hwe* 目录下的 *.bb* 文件获取具体的代码仓库信息。 **示例:查看摄像头设备树仓库** 打开文件 *layers/meta-qcom-hwe/recipes-multimedia/cameradtb/cameradtb_1.0.bb*,可以看到: ```bash SRCPROJECT = "git://git.codelinaro.org/clo/le/platform/vendor/opensource/camera-devicetree.git;protocol=https" SRCBRANCH = "camera-kernel.qclinux.1.0.r1-rel" SRCREV = "08511ff747916576232cc26394bb9c5c6e0ab1f5" ``` **信息说明**: - **仓库地址**:[https://git.codelinaro.org/clo/le/platform/vendor/opensource/camera-devicetree.git]() - **分支**:camera-kernel.qclinux.1.0.r1-rel - **提交版本**:08511ff747916576232cc26394bb9c5c6e0ab1f5 ## 本地设备树子仓库位置 为了便于编译和使用,Quectel Pi H1将这些独立的设备树子仓库放置在 *src/devicetree* 目录下: | **模块** | **路径** | | --- | --- | | 摄像头 | src/devicetree/camera-devicetree | | 显示 | src/devicetree/display-devicetree | | 图形 | src/devicetree/graphics-devicetree | | 视频 | src/devicetree/video-devicetree | # 各模块设备树详细说明 ## Camera(摄像头) ### 设备树文件 - **Camera主配置**: ```plaintext src/devicetree/camera-devicetree/qcm6490-camera-rb3.dtsi ``` - **Camera传感器配置**: ```plaintext src/devicetree/camera-devicetree/qcm6490-camera-sensor-rb3.dtsi ``` ### 相关配方文件 - **基础配方**: ```plaintext layers/meta-qcom-hwe/recipes-multimedia/cameradtb/cameradtb_1.0.bb ``` - **扩展配方**: ```plaintext layers/meta-quectel/recipes-multimedia/cameradtb/cameradtb_1.0.bbappend ``` ## Display(显示) ### 设备树文件 - **8寸屏配置**: ```plaintext src/devicetree/display-devicetree/display/dsi-panel-waveshare-8inch-video.dtsi ``` - **SDE Display主配置**: ```plaintext src/devicetree/display-devicetree/display/qcm6490-sde-display-pi.dtsi ``` - **SDE Display引脚配置**: ```plaintext src/devicetree/display-devicetree/display/qcm6490-sde-display-pinctrl.dtsi ``` - **SDE Display通用配置**: ```plaintext src/devicetree/display-devicetree/display/qcm6490-sde-display.dtsi ``` - **顶层设备树引用**: ```plaintext src/qcom-6.6-overlay/arch/arm64/boot/dts/qcom/qcs6490-idp-pi.dts ``` ### 相关配方文件 - **基础配方**: ```plaintext layers/meta-qcom-hwe/recipes-multimedia/display/qcom-displaydevicetree_git.bb ``` - **扩展配方**: ```plaintext layers/meta-quectel/recipes-multimedia/display/qcom-displaydevicetree_git.bbappend ``` ## Graphics(图形) ### 设备树文件 - **GPU配置**: ```plaintext src/devicetree/graphics-devicetree/gpu/qcm6490-graphics.dtsi ``` ### 相关配方文件 - **基础配方**: ```plaintext layers/meta-qcom-hwe/recipes-graphics/graphicsdevicetree/qcom-graphicsdevicetree_git.bb ``` - **扩展配方**: ```plaintext layers/meta-quectel/recipes-graphics/graphicsdevicetree/qcom-graphicsdevicetree_git.bbappend ``` ## Video(视频) ### 设备树文件 - **Video配置**: ```plaintext src/devicetree/video-devicetree/qcm6490-video.dtsi ``` ### 相关配方文件 - **基础配方**: ```plaintext layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodtb_1.0.bb ``` - **扩展配方**: ```plaintext layers/meta-quectel/recipes-multimedia/video/qcom-videodtb_1.0.bbappend ``` # 修改建议 1. **优先修改覆盖层**:修改设备树时,优先在 *src/qcom-6.6-overlay* 和 *src/devicetree* 目录下的文件上进行,避免直接修改内核源码。 2. **了解依赖关系**:修改设备树前,建议先了解各个 *.dtsi* 文件之间的引用关系。 3. **配方文件同步**:如果修改了设备树仓库或添加了新的设备树文件,需要同步更新对应的 *.bb* 和 *.bbappend* 文件。 4. **版本控制**:建议使用Git管理所有修改,便于追踪和回滚。